package com.club.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;
import java.math.BigDecimal;

/**
 * 活动实体类
 */
@Data
@TableName("activity")
public class Activity {
    /**
     * 活动ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 所属社团ID
     */
    private Long clubId;

    /**
     * 活动标题
     */
    private String title;

    /**
     * 活动内容
     */
    private String content;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 活动地点
     */
    private String location;

    /**
     * 组织者ID
     */
    private Long organizerId;

    /**
     * 活动状态：0-待审核，1-已发布，2-进行中，3-已结束，4-已取消
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 最大参与人数
     */
    private Integer maxParticipants;

    /**
     * 当前参与人数
     */
    private Integer currentParticipants;

    /**
     * 预算金额
     */
    private BigDecimal budget;

    /**
     * 实际花费
     */
    private BigDecimal actualCost;

    /**
     * 联系人
     */
    private String contactPerson;

    /**
     * 联系电话
     */
    private String contactPhone;

    /**
     * 审批状态：0-待审批，1-已通过，2-已拒绝
     */
    private Integer approvalStatus;

    /**
     * 审批时间
     */
    private LocalDateTime approvalTime;

    /**
     * 审批人ID
     */
    private Long approverId;

    /**
     * 活动类型
     */
    private String activityType;

    /**
     * 封面图片
     */
    private String coverImage;

    /**
     * 报名开始时间
     */
    private LocalDateTime signupStartTime;

    /**
     * 报名结束时间
     */
    private LocalDateTime signupEndTime;
}